Хотя в этой главе основное
внимание уделено безопасности .NET, но важно
кое-что знать и о защите информационного
сервера Internet (Internet Information Server, П5). Поскольку
информационный сервер Internet (US) используется
как Web-службами, так и ASP.NET, то значени-Я
параметров информационного сервера Internet (US)
могут влиять на безопасность .NET.
В предыдущих главах, где
рассказывалось об ASP.NET и Web-службах, для
анонимного доступа применялись значения по
умолчанию. При анонимном доступе не нужно
указывать имя пользователя и пароль, чтобы
получить доступ к учетной записи. Такой
доступ позволяет работать под учетной
записью пользователя, определенной по
умолчанию. Анонимный доступ полезен для
общедоступных Web-узлов и Web-служб, в которых
имеется своя система опознавания путем
запроса имени пользователя и пароля или
некоторыми другими средствами. В этом
случае можно выполнять опознавание с
помощью форм ASP.NET. Создайте формы,
предназначенные для получения имени
пользователя и пароля, а затем сверяйте
полученные значения с теми, что находятся в
файле конфигурации или в базе данных.
Информационный сервер Internet (US)
поддерживает основные схемы опознавания,
предусмотренные в протоколе передачи
гипертекстовых файлов (HTTP). Впрочем, для
этого он должен быть соответствующим
образом настроен. Схемы опознавания
перечислены в табл. 13.1. В каждом из этих
сценариев информационный сервер Internet (US)
проверяет, соответствуют ли имеющейся
учетной записи те данные, которые
представил пользователь. Каждый раз, когда
нужно зашифровать канал HTTP-связи,
применяется протокол защищенных сокетов (Secure
Sockets Layer, SSL). Использование протокола
защищенных сокетов SSL приводит к ухудшению
производительности. О протоколе защищенных
сокетов SSL в данной главе не рассказывается.
Кроме того, вам еще придется
делать авторизацию, то есть настраивать
доступ этих учетных записей пользователей
к необходимым файлам (графике, файлам с
хранящимися данными и т.д.) и другим
ресурсам (например, базам данных). Что же
касается общедоступных Web-узлов и Web-служб,
то здесь такой подход бесполезен, потому
что у пользователей не будет учетных
записей.
Компания Microsoft предложила схему
опознавания, которая называется Passport (Паспорт).
И хотя в серверной части системы ASP.NET эта
схема поддерживается с помощью класса
System::Web::Security::Passportldentity,но в момент написания
этих слов еще не было инструментов
разработки, способных работать с
клиентской частью схемы Passport (Паспорт). Эта
схема позволяет избежать трудностей,
связанных с указанием конкретных учетных
записей или конкретных машин. О схеме Passport (Паспорт)
в данной главе не рассказывается.
Таблица 13.1. Схемы опознавания
Схема | Вид опознавания |
Базовая (basic) | В действительности пользовательская информация и пароль передаются как простой текст. Это стандартная схема опознавания, предусмотренная в протоколе передачи гипертекстовых файлов (HTTP); безопасной она не является |
Базовая поверх протокола защищенных сокетов SSL (basic over SSL) | Хотя опознавание является базовым, но канал связи закодирован, так что имя пользователя и пароль защищены |
Профильная (Смешанная) (digest) | Использует безопасное хэширование для передачи имени пользователя и пароля. Это не совсем безопасный метод, потому что хэш-коды хранятся на сервере и являются обратимыми3. Была введена в протоколе передачи гипертекстовых файлов HTTP 1.1 в качестве базового опознавания |
Интегрированная защита Windows (Windows Integrated Security) | В традиционной системе безопасности Windows используются протоколы NTLM и Kerberos (Цербер). Информационный сервер Internet (US) выполняет опознавание, если мандат совпадает с учетной записью пользователя. Нельзя использовать в модулях доступа (proxies) и брандмауэрах. NTLM — это унаследованный Windows протокол безопасности |
Сертификаты поверх протокола защищенных сокетов SSL {certificates over SSL) | Клиент получает сертификат, который соответствует учетной записи пользователя |
Безопасная спецификация для SOAP разрабатывается W3C. С помощью сообщений SOAP вы можете создавать свою собственную систему опознавания. Так как XML-код передается в виде текста, то необходимо использовать протокол защищенных сокетов SSL для шифрования сообщений (особенно при использовании таких, например, дескрипторов, как <user> (пользователь) и <password> (пароль)). В общем, при применении SOAP данные, используемые системой защиты, надо шифровать.